Multiple donnée pour un test
public static function dataProvider(): array
{
return [ // data set
[ // data set 1
[
'value' => ['name' => 34],
'rule' => ['name' => ['type' => 'STRING', 'id_business_key' => 1]],
],
],
[ // data set 2
[
'value' => ['age' => 'thirty'],
'rule' => ['age' => ['type' => 'INTEGER', 'id_business_key' => 2]],
],
],
[ // data set 3
[
'value' => ['is_active' => 'yes'],
'rule' => ['is_active' => ['type' => 'BOOLEAN', 'id_business_key' => 3]],
],
],
[ // data set 4
[
'value' => ['salary' => 'ten thousand'],
'rule' => ['salary' => ['type' => 'DOUBLE', 'id_business_key' => 4]],
],
],
[ // data set 5
[
'value' => ['birth_date' => 'not a date'],
'rule' => ['birth_date' => ['type' => 'DATE', 'id_business_key' => 5]],
],
],
[ // data set 6
[
'value' => ['appointment_time' => 'not a time'],
'rule' => ['appointment_time' => ['type' => 'TIME', 'id_business_key' => 6]],
],
],
[ // data set 7
[
'value' => ['last_login' => 'not a datetime'],
'rule' => ['last_login' => ['type' => 'DATE_TIME', 'id_business_key' => 7]],
],
],
[ // data set 8
[
'value' => ['bio' => ['key' => 44]],
'rule' => ['bio' => ['type' => 'TRANSLATED_STRING', 'id_business_key' => 8]],
],
],
];
}
Ensuite, on passe ces données
#[\PHPUnit\Framework\Attributes\DataProvider('dataProvider')]
public function testValidateAttributesInvalidData(mixed $data): void
{
$this->expectException(QueryWriterException::class);
$attributesFields = $data['value'];
$attributeTypes = $data['rule'];
$attributeChecker = new AttributeChecker();
$attributeChecker->validateAttributes($attributesFields, $attributeTypes);
}